package com.qire.manhua.model.vo;

import com.qire.common.basic.StringUtil;
import com.qire.common.support.base.BaseVO;

/**
 * 金币支出明细记录
 */
public class CoinExpenditureRecordVO extends BaseVO {

    public String sub_title;        //: "解锁 第12话",
    public String[] book_name_list; //: ["浴血商后"],
    public String create_time;      //: "2019-05-31 11:56",
    public String coin_bean;        //: "-35金豆",
    // 用于判定 coin_bean 的颜色值，不过app内有判断,暂未使用
    public int    io;               //: -1

//   测试数据
//    static boolean is = true;
//    private void buildTestData() {
//        if(is) {
//            book_name_list = new String[]{"女巨人也要谈恋爱爱", "女巨人也要谈恋爱爱"};
//            is = false;
//        } else {
//            book_name_list = new String[]{"女巨人也要谈恋爱", "劫天运", "金牌甜妻"};
//            is = true;
//        }
//    }

    public StringBuilder title() {
//        buildTestData();

        StringBuilder titleBuilder = new StringBuilder();
        // 基本书需要叠加。
        int bookLength = book_name_list.length;
        // 第一次添加不需要带 + 号
        boolean isFirst = true;

        for(String bookName : book_name_list) {
            // 第一次添加不需要带 + 号
            if(!isFirst) {
                titleBuilder.append("+");
            } else {
                isFirst = false;
            }

            if(bookLength <= 1) {
                // 一本书直接接书名，如果超长，有 TextView 的居中截断触发
                titleBuilder.append(String.format("《%s》", bookName));
            } else {
                // 多本书，以20个字符为总长度，每本书去除 《》 所占长度，求平均每本书允许长度
                int singleLength = (20 - (int)(bookLength * 2)) / bookLength;
                if(singleLength > bookName.length()) {
                    // 如果书名小于平均长度则输出书名
                    titleBuilder.append(String.format("《%s》", bookName));
                } else {
                    // 如果书名大于平均长度，则替换省略。目前考虑最多3本书，所以书名最少保留3个字
                    int replaceStart = Math.max(singleLength - 2, 3);
                    titleBuilder.append(String.format("《%s", StringUtil.replace("...》", bookName, replaceStart, replaceStart + 4)));
                }
            }
        }
        return titleBuilder;
    }

}
